Verilog: module vl_7_segment_octal_decoder(A, B, C, a, b, c, d, e, f, g); input A, B, C; output a, b, c, d, e, f, g; wire e0, e1, e2, e3, e4, e5, e6, e7, e9, e10; nand u0(e0, A, C); or u1(e1, A, C); not u2(B, e2); or u3(e3, B, C); nand u4(e4, e0, e1); or u5(e5, e0, e2); or u6(e6, C, e2); not u7(e3, e7); or u8(a, B, e4); nand u9(e9, A, e5); nand u10(e10, B, e5); nand u11(e, e1, e6); or u12(c, e6, A); nand u13(g, e9, e10); nand u14(f, e9, e3); and u15(d, a, e5); or u16(b, e9, e7); endmodule VHDL: library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; -- =========================================== ENTITY 7_segment_octal_decoder IS PORT ( A : IN BIT; B : IN BIT; C : IN BIT; a : OUT BIT; b : OUT BIT; c : OUT BIT; d : OUT BIT; e : OUT BIT; f : OUT BIT; g : OUT BIT ); END 7_segment_octal_decoder; -- =========================================== ARCHITECTURE gate_level OF 7_segment_octal_decoder IS COMPONENT not1 PORT (a1: IN BIT; z: OUT BIT); END COMPONENT; -- Intermediate nets SIGNAL e0, e1, e2, e3, e4, e5, e6, e7, e9, e10 : BIT; BEGIN U0 : nand2 PORT MAP (A, C, e0); U1 : or2 PORT MAP (A, C, e1); U2 : not1 PORT MAP (B, e2); U3 : or2 PORT MAP (B, C, e3); U4 : nand2 PORT MAP (e0, e1, e4); U5 : or2 PORT MAP (e0, e2, e5); U6 : or2 PORT MAP (C, e2, e6); U7 : not1 PORT MAP (e3, e7); U8 : or2 PORT MAP (B, e4, a); U9 : nand2 PORT MAP (A, e5, e9); U10 : nand2 PORT MAP (B, e5, e10); U11 : nand2 PORT MAP (e1, e6, e); U12 : or2 PORT MAP (e6, A, c); U13 : nand2 PORT MAP (e9, e10, g); U14 : nand2 PORT MAP (e9, e3, f); U15 : and2 PORT MAP (a, e5, d); U16 : or2 PORT MAP (e9, e7, b); END gate_level;